1. Field of the Invention
The present invention relates to an information processing apparatus, a method for controlling the same, and a storage medium.
2. Description of the Related Art
At present, application specific integrated circuits (ASIC) used in various types of information processing apparatuses are capable of performing the control of powering off a module which is not in use, to suppress power consumption thereof as a technique for disconnecting a power supply in the ASIC.
Until recently, as discussed in Japanese Patent Application Laid-Open No. 2000-227893, a central processing unit (CPU) has performed access control with the ON and OFF states of the power supply of each module grasped based on access information of each module.
The CPU controlling the ON and OFF of power supplies of a plurality of modules in the ASIC and accessing a register or a static random access memory (SRAM) in consideration of the power supply status of each module requires a complicated software control, so that it is not easy to perform implementation.
There has been a mechanism in which the control of a power supply is performed on an operating system (OS) basis, such as Advanced Configuration and Power Interface (ACPI), to facilitate the implementation of a power control system and, in particular, the control of software.
The control of a power supply in the ACPI is a mechanism in which troublesome state transition procedures can be automatically executed based on simple commands. However, there are various kinds of standard operating procedures to be observed to automatically execute the state transition procedures.
For the hardware to be configured, all pieces of hardware need to be powered on in an operating state (S0 state) and all pieces of hardware need to be powered off in a standby state (S3 state).
If the operating state (S0 state) is shifted to the standby state (S3 state), a sequence (steps S101 to S105) illustrated in FIG. 13 is required. FIG. 13 illustrates the shift of ACPI control from the S0 state to the S3 state. As illustrated in FIG. 13, in step S102, if an instruction for shift from the S0 state (in step S101) to the S3 state is issued, then in step S103, all of states of the hardware (such as register setting and data in the SRAM) set before a power supply is turned off is stored in a recording device such as a nonvolatile memory or a hard disk drive. Thereafter, in step S104, all pieces of hardware are powered off. In step S105, the system is shifted to a power saving mode.
Similarly, if the standby state (S3 state) is shifted to the operating state (S0 state), a sequence (steps S201 to S205) illustrated in FIG. 14 is required. FIG. 14 illustrates the shift of the ACPI control from the S3 state to the S0 state. As illustrated in FIG. 14, in step S202, if an instruction for shift from the S3 state (in step S201) to the S0 state is issued, then in step S203, all devices for controlling the power supplies are powered on. Thereafter, in step S204, the stored state set before the power supplies are turned off is read from the recording device to be returned to the state set before the power supplies are turned off (in step S205).
The control of the power supply based on the ACPI needs to observe procedures related to the abovementioned hardware configuration and the shift of states illustrated in FIGS. 13 and 14.
The following describes a digital multifunction peripheral (hereinafter referred to as MFP) for performing scan, print, and copy. FIG. 15 is a block diagram illustrating an example of the entire configuration of a general MFP. As illustrated in FIG. 15, an MFP control unit 301 includes a central processing unit (CPU) 305, acting as a processor for controlling the entire system, and a data processing unit 309 for various types of image processing. The MFP control unit 301 is connected to a scanner unit 302 being an image input device, a printer unit 303 being an image output device, and a network interface 304 connected to an external network such as a local area network (LAN) or a wide area network (WAN), thereby controlling the input and output of image information and device information and the image rasterization of page description language (PDL) data.
A memory 306 is a system work memory for operating the CPU 305 and an image memory for temporarily storing image data. A hard disk drive (HDD) storage unit 307 stores system software and image data in a hard disk drive.
A user interface 308 includes a display for displaying the state of the MFP and image data, buttons, switches, and a numeric keypad, whereby the user performs various types of settings to use the MFP, and a touch panel also used as the display and buttons.
FIG. 16 illustrates an example of an internal configuration of the MFP control unit 301 illustrated in FIG. 15. The CPU 305 controls the entire system of the MFP, and performs the register setting of the data processing unit 309, various types of settings of a lookup table using the SRAM, and the input and output control of image data.
For example, if a copy operation is performed, the CPU 305 sets various types of image processing to the data processing unit 309 based on settings from the user interface 308. At the time of completing the setting, the scanner unit 302 starts, reads a document, performs analog to digital conversion, and supplies digital data to the MFP control unit 301 as scan data. The data processing unit 309 subjects the scan data to image processing according to various coefficients previously set by the CPU 305 to generate image data for print output. The image data for print output, which are output from the data processing unit 309 in the MFP control unit 301, are input to the printer unit 303 and are then printed on a previously prepared output sheet.
The network interface 304 inputs signals for requesting a printer to operate and confirming the current operation state of the MFP from an external apparatus, such as a PC, connected to the external network. If the printer is requested to operate, various settings at the time of printing and image data for print are input to the MFP control unit 301 via the network interface 304 from the external network. The CPU 305 in the MFP control unit 301 performs various settings of the data processing unit 309 according to the input setting and then inputs the input image data for print to the data processing unit 309. The data processing unit 309 performs image processing according to various coefficients set by the CPU 305 to generate image data for print output. The image data for print output, which are output from the data processing unit 309 in the MFP control unit 301, are input to the printer unit 303 and are then printed on a previously prepared output sheet.
A signal for confirming the current operation state of the MFP can be input to the MFP control unit 301 from the network interface 304. In this case, the CPU 305 in the MFP control unit 301 outputs the state of the MFP system to the external network. The state of the MFP system includes states where the printer is being operated, the printer or the scanner is adjusted, and the input of data is waited.
The following describes an operation in a case where the power supply of the MFP control unit 301 is controlled based on the ACPI to simplify the power supply control using software. In the power supply control based on the ACPI, the MFP system uses two states, the S0 and S3 states. FIGS. 17 to 19 illustrate states of the MFP control unit 301. The S0 state refers to a state that shows operation at full capacity, in which all pieces of hardware in the MFP control unit 301 are powered on as illustrated in FIG. 17. More specifically, in the S0 state, both of the CPU 305 and the data processing unit 309 are powered on to allow communication with a network and to allow setting and data transfer between the CPU 305 and the data processing unit 309.
The S3 state refers to a standby state in which all pieces of hardware are powered off as illustrated in FIG. 18. More specifically, in the S3 state, both of the CPU 305 and the data processing unit 309 are powered off not to allow communication with a network and not to allow setting and data transfer between the CPU 305 and the data processing unit 309.
FIG. 20 illustrates changes in state in a case where the power supply of the MFP control unit 301 is controlled with the S0 and S3 states based on the ACPI. In FIG. 20, the topmost state represents a data processing state in which image data are input from the scanner unit 302 or the external interface and the image processed by the data processing unit 309 via the CPU 305 is being output. In this state, the MFP control unit 301 is brought into the S0 state, and the CPU 305 and the data processing unit 309 are powered on to perform predetermined processing.
In FIG. 20, the second state refers to a standby state. Normally, if a state in which processing is not performed for a certain period of time continues after the abovementioned data processing is finished, the MFP control unit 301 is brought into the standby state. In this state, the MFP control unit 301 is brought into the S3 state, and the CPU 305 and the data processing unit 309 are powered off to save power consumption at the time when the MFP system is not operated.
At this point, if the MFP control unit 301 is brought into the S3 state according to the regulations of the ACPI, the state before turning off the power supplies needs to be stored in a recording medium, such as a hard disk, so that the MFP control unit 301 can return to the state immediately before turning off the power supplies if the MFP control unit 301 is brought into the S0 state. For this reason, all of the state of the CPU 305 and various settings in the data processing unit 309 are to be stored in the recording medium.
If any data are input via the network interface 304 during the standby state, the MFP control unit 301 is brought into the third state (the S0 state) in response to the input data. If the input from the external network at this point is a request for operating the printer, the MFP control unit 301 is brought into the lowermost state with the S0 state kept unchanged, and the CPU 305 continuously performs various settings to the data processing unit 309. After the CPU 305 finishes various settings to the data processing unit 309, the image data to be processed are input, and data processing is performed.
If a signal for confirming the operation status of the MFP system is input from the external network in the third state (the S0 state), the CPU 305 recognizes the status of the MFP system at that point and outputs the result to the external network. If the signal is input to confirm the operation status of the MFP system from the external network, the MFP control unit 301 returns again to the second state (the standby state) when the CPU 305 completes outputting the state of the MFP system.
Thus, if the signal is input to confirm the operation status of the MFP system from the external network, a response is completed only by a process in the CPU 305 and image data are not processed, so that the data processing unit 309 may be powered off. In the S0 state, however, all pieces of hardware need to be powered on according to the regulations of the ACPI, so that the data processing unit 309 also needs to be powered on, which is essentially not required. Also at the time of merely responding to the network, all pieces of hardware are powered on to significantly reduce the effect of power saving.
As described above, if the MFP control unit 301 returns from the S3 state to the S0 state, all of the state of the CPU 305 and various settings of the data processing unit 309 stored in the recording medium, such as a hard disk, need to be read after the power supplies are turned on. Therefore, it is time-consuming to respond to the network after the power supplies are turned on. If the setting of the data processing unit 309 and the process of the data processing unit 309 such as a conversion table are complicated, it takes huge amounts of time to respond to the network.
The following describes an operation for power supply control in the MFP control unit 301 desired to be performed to save power. The states to be used here include S-Full state, S-Stb state, and S-Net state. The S-Full state refers to a state that shows operation at full capacity, in which all pieces of hardware are powered on as illustrated in FIG. 17. More specifically, both of the CPU 305 and the data processing unit 309 are powered on to allow communication with the network and to allow setting and data transfer between the CPU 305 and the data processing unit 309.
The S-Stb state refers to a standby state in which all pieces of hardware are powered off as illustrated in FIG. 18. More specifically, both of the CPU 305 and the data processing unit 309 are powered off not to allow communication with the network and not to allow setting and data transfer between the CPU 305 and the data processing unit 309.
The S-Net state refers to a network-response state in which the CPU 305 is powered on but the data processing unit 309 is powered off as illustrated in FIG. 19. More specifically, communication with the network can be performed by the CPU 305, but image data are not processed.
FIG. 21 illustrates changes in state in a case where the power supply of the MFP control unit 301 is controlled with three states (such as the S-Full state, the S-Stb state, and the S-Net state) illustrated in FIGS. 17 to 19.
In FIG. 21, the topmost state represents a data processing state in which image data are input from the scanner unit 302 or the external interface, and the image processed by the data processing unit 309 via the CPU 305 is being output. In this state, the MFP control unit 301 is brought into the S-Full state, and the CPU 305 and the data processing unit 309 are powered on to perform predetermined processing.
In FIG. 21, the second state represents a standby state. Normally, if a state in which processing is not performed for a certain period of time continues after the abovementioned data processing is finished, the MFP control unit 301 is brought into the standby state. In this state, the MFP control unit 301 is brought into the S-Stb state, and the CPU 305 and the data processing unit 309 are powered off to save power consumption at the time when the MFP system is not operated.
If any data are input via the network during the standby state, the MFP control unit 301 is brought into the third state (the S-Net state). If the input from the external network is a request for operating the printer, the MFP control unit 301 is brought into the lowermost state (the S-Full state) and the CPU 305 performs various settings to the data processing unit 309 to continuously process the data input from the external interface. After the CPU 305 finishes various settings to the data processing unit 309, the image data to be processed are input, and data processing is performed.
If a signal for confirming the operation status of the MFP system is input from the external network in the third state (the S-Net state), the CPU 305 recognizes the status of the MFP system at that point with the S-Net state kept unchanged and outputs the result to the external network. The MFP control unit 301 returns again to the second standby state when the CPU 305 completes outputting the state of the MFP system.
Unlike the control according to the ACPI, handling can be made without powering on the data processing unit 309 which is essentially not required in the S-Net state. Also at the time of merely responding to the network, the effect of power saving can be obtained without all pieces of hardware being powered on.
Unlike the control according to the ACPI, as described above, if the MFP control unit 301 returns from the S-Stb state, various settings of the data processing unit 309 stored in the recording medium, such as a hard disk, does not need to be read after the power supplies are turned on. Therefore, it does not take much time to respond to the external network after the power supplies are turned on to allow power consumption to be further reduced.
The above power supply control is performed to provide the effect of power saving by powering on only the CPU 305 at the time of merely responding to the network. If the state of the MFP control unit 301 shifts to a sleep state or returns therefrom, there is no need for transferring the state of the data processing unit 309 to the recording device, so that the MFP control unit 301 can quickly return from the sleep state.
In developing the MFP system at present, software is desired to perform control based on the ACPI standards to facilitate control. In other words, there is a demand in which process is desired to be performed based on two states, the S0 and the S3 states.
When there is no need to reduce power consumption, there is a demand in which control by which the data processing unit 309 is not powered on, i.e., processing based on three states, the S-Full, the S-Stb, and the S-Net states, is desired to be performed, at the time of merely responding to the network, for example, to reduce power consumption.
Then, a power supply control method which makes the two desires compatible with each other is required. As measures for realizing a control method which makes the two desires compatible with each other, there may be a method in which a difference in the number of states is covered by the process of hardware, as described below. In other words, the CPU 305 in the MFP control unit 301 is taken as a target for the power supply control based on the ACPI as software, and a process without regard to the power supply of the data processing unit 309 is performed. In the power supply control method, the power supply control of the data processing unit 309 is performed by hardware.
The following describes a system operation in a case where the control in two states based on the ACPI as the above software is compatible with the control of three states for saving power as a hardware configuration, with reference to FIG. 22.
FIG. 22 illustrates changes in the state of the MFP control unit 301 in a case where a system operation is performed when the control in two states based on the ACPI is compatible with the control of three states for saving power as a hardware configuration.
In this configuration, the CPU 305 in the MFP control unit 301 is taken as a target for the power supply control based on the ACPI, and the power supply control of the data processing unit 309 is performed by hardware. In FIG. 22, the topmost state represents a data processing state in which image data are input from the scanner unit 302 or the external interface, and the image processed by the data processing unit 309 via the CPU 305 is being output. In this state, the CPU 305 in the MFP control unit 301 is brought into the S0 state, and the CPU 305 is powered on.
Also in this state, predetermined processing is performed with the data processing unit 309 powered on. The MFP control unit 301 is brought into the S-Full state. In this case, access from the CPU 305 is detected by the hardware and the data processing unit 309 is powered on.
In FIG. 22, the second state refers to a standby state. Normally, if a state in which processing is not performed for a certain period of time continues after the abovementioned data processing is finished, the MFP control unit 301 is brought into the standby state. In this state, the CPU 305 and the data processing unit 309 are powered off, so that the MFP control unit 301 is brought into the S-Stb state, saving power consumption at the time when the MFP system is not operated.
If any signal is input via the network interface 304 during the standby state, the MFP control unit 301 is brought into the third state, i.e., a network response state. At this point, the CPU 305 is brought into the S0 state. The CPU 305 is powered on. The data processing unit 309 is kept powered off. The MFP control unit 301 is brought into the S-Net state.
If the input from the external network at this point is a request for operating the printer, the CPU 305 accesses the data processing unit 309 for register setting. The data processing unit 309 detects the access by hardware to turn on the power supply thereof, bringing the MFP control unit 301 into the lowermost state (the data processing state).
In this state, the CPU 305 in the MFP control unit 301 is brought into the S0 state and the CPU 305 is powered on. The data processing unit 309 is also powered on to perform predetermined processing. Therefore, the MFP control unit 301 is brought into the S-Full state. After that, the CPU 305 performs various settings to the data processing unit 309. Continuously, the image data to be processed are input and data processing is performed.
If a signal for confirming the operation status of the MFP system is input from the external network in the third S-Net state, the CPU 305 recognizes the status of the MFP system at that point with the S-Net state kept unchanged and outputs the result to the external network. Thus, if the signal for confirming the operation status of the MFP system is input from the external network, the MFP control unit 301 returns again to the second standby state when the CPU 305 completes outputting the state of the MFP system.
As described above, the system control of the three states capable of obtaining the effect of power saving is enabled by taking the CPU 305 in the MFP control unit 301 as a target for the power supply control based on the ACPI and performing the power supply control of the data processing unit 309 by hardware while performing the control based on the ACPI by software.
The following problem is caused if the system operation is performed in a case where the control in the two states based on the ACPI as software is compatible with the control in the three states for saving power as the MFP control unit 301.
When the network response state is shifted to the data processing state, the data processing module in the data processing unit 309 is kept powered off. If the CPU 305 accesses the data processing module in the data processing unit 309, the data processing unit 309 detects the access from the CPU 305 to power on the data processing module corresponding to the access. Even if the CPU 305 accesses the register while the power supply of the data processing module is being boosted on, the data processing unit 309 sends no response to the CPU 305 until the power supply of the data processing module is completely boosted.
For the ASIC with a circuit scale of a million gates in 90-nm process, for example, about 28 μsec are consumed before the power supply is completely boosted. For this reason, the CPU 305 recognizes such time consumption as time-out error. The time-out error is described below with reference to FIG. 23.
FIG. 23 illustrates the time-out error of the CPU 305. In the third network response state illustrated in FIG. 22, the CPU 305 is powered on, but the data processing unit 309 is powered off. A state immediately after the start of shift from the network response state to the data processing state is illustrated in FIG. 23. More specifically, the CPU 305 is powered on and the data processing unit 309 is being boosted although the data processing unit 309 is instructed to power off or on.
At this point, as described above, as for the software, control based on the ACPI is performed, which means that this state is processed in the S0 state, i.e., in recognition that all pieces of hardware are powered on. In shifting from the network response state to the data processing state, the CPU 305 recognizes that the power supply is turned on irrespective of the actual state of the power supply of the data processing unit 309 (i.e., the power supply is turned on or off) and executes access to the setting register or the SRAM in the data processing unit 309.
Actually, however, the data processing unit 309 is not completely booted, so that the CPU 305 cannot receive a response to the access to the data processing unit 309 in a predetermined time period of time-out error, which is recognized as the time-out error by the CPU 305. This causes a problem.
The data processing unit 309 needs to avoid the time-out error in controlling and boosting the power supply of the data processing module whose register and SRAM are accessed.